23

» WarCraft 3 / Команда для игрока

Похожие вопросы:

ответ
По ходу не можно...
ответ
зрители и обсы не взаимодействуют ни с какими триггерами, они вне игры
ответ
один триггер
по одному событию на каждого игрока
в действе передавать "Переключающий игрок" вместо "игрок 1 красный".
ответ
~8gabriel8:
Есть в категории Игрок действие на смену цвета. Делаешь события, что игрок вводит в чат -color для всех игроков, куда добавляешь это действие.

23

» Администрация XGM / как получить уровень 1

Принятый ответ
Похожие вопросы:

ответ
Значит 3 раза понижали. Опыт может снятся только в одном из этих случаев:
  • ресурс снят с публикации который ранее был опубликован
  • проект снижен в уровне, который ранее был большего уровня
  • удален опубликованный комментарий / пост на форуме
  • ты написал сообщение в оффтопку на форуме (за каждый пост -1 опыта)
  • ну и самый редкий вариант ,если какой то модератор пользуюсь служебным положением заабузит админку и начислит н-ое кол-во опыта определенному юзера, мы это спалим и снимем опыт назад.
ответ
любой абуз видно в логах. Там ничего не абузилось.

23

» Администрация XGM / как получить мне уровень в этом сайте

Похожие вопросы:

ответ
Значит 3 раза понижали. Опыт может снятся только в одном из этих случаев:
  • ресурс снят с публикации который ранее был опубликован
  • проект снижен в уровне, который ранее был большего уровня
  • удален опубликованный комментарий / пост на форуме
  • ты написал сообщение в оффтопку на форуме (за каждый пост -1 опыта)
  • ну и самый редкий вариант ,если какой то модератор пользуюсь служебным положением заабузит админку и начислит н-ое кол-во опыта определенному юзера, мы это спалим и снимем опыт назад.

23

» WarCraft 3 / Собственные характеристики для героя

Похожие вопросы:

ответ
Уровень = Уровню героя. Характеристики = Характеристикам героя. Цикл 6-разовый на каждый слот дающий предмет герою. Уровни способностей равные уровню способностей героя. Героя, в смысле твоего героя. Ну еще создать юнита типа твоего героя. Что-то еще? Если он где-то в переменных для пассивок, то с ними тоже по колдовать и все.
Будет только одна проблема, если ты книги атаки на его юзал то их никак не засеч без геморроя. А так все в виде целочисленных на твоем герое записано.

23

» WarCraft 3 / Не удаляется способность

Похожие вопросы:

ответ
Nickol, оригиналы удалить нельзя
они хранятся не в карте в mpq
если так хочешь то удаляй оригинал из слк таблицы в архивах игры
ответ
на сколько я понял проблема в том что после смерти способность не удаляется
тогда нужен триггер с событием юнит умирает
и если юнит герой то удалять эту способность
Melissa:
Ну и если вдруг скилл используют одновременно или почти одновременно десятки юнитов - то не у всех панцирь будет корректно удаляться.
можно решить локалками
ответ
Ну хз, ручками удали скилл слк или тхт, хз как там у тебя, после деоптимизации карты (снятия защиты) часто бывают баги с обьектными данными, попробуйте другой деоптимизатор, или правьте ручками...
ответ
Делай call UnitMakeAbilityPermanent(u, true,'A000') ) .
Где вместо A000 твоя абилка.
Если абила спеллбучная, то все спеллбуки тоже надо вживлять.
Перманент-абилы не пропадают после морфа и анморфа. Просто добавленные - пропадают.
ответ
А ты её так не удалишь, нужно саму книжку удалять

23

» WarCraft 3 / Помогите разобраться с опытом

Похожие вопросы:

ответ
Ну что пацаны Datamanager ?
Дам подсказку, смотреть на систему ливов и сыгранный игр, там переменная сама инкрементируется за каждый запуск игры, и сама подгружается, но надо включить локальные файлы и сделать привязку к нику и зашифровать данные, ибо иначе тут всё в открытом виде, можно сбрасывать значение

23

» WarCraft 3 / Утекает ли область?

Похожие вопросы:

ответ
Утечка - это когда не удаляются ненужные объекты. Здесь регион нельзя удалять, потому что без него событие не будет работать. Но если у вас много таких событий, то лучше использовать один регион для всех событий, при условии, что размеры региона не будут изменяться в процессе игры, потому что это может нарушить работу других событий, привязанных к данному региону.
А функция TriggerRegisterEnterRectSimple в теории не утечна, но на практике может утекать, например, если в потоке триггера будет вызвано её уничтожение RemoveRegion(GetTriggeringRegion()).

23

» WarCraft 3 / Дуэль

Похожие вопросы:

ответ
научись правильно выражать свои мысли
наработки тут не кидают (это раздел вопросы а наработки)
если я правильно понял то тебе надо сделать следующее:
  1. составить список играющих игроков
  2. каждые n секунд брать из этого списка 2 случайных игрока и тпшить их героев на арену
  3. после смерти 1 из этих героев тпшить обоих на базу (т.к. проигравший мёртв то тпшнится только победитель)
теперь пройдёмся подробно по пунктам
  1. массив игроков и переменная count типа целочисленная равная 0 изначально
перебираем всех игроков от 0 до 11
если игрок играет то заносим его в массив под индексом count
увеличиваем значение count на 1
  1. триггер с событием/таймер каждые n секунд
в действиях берём случайное число от 0 до count
это индекс первого игрока на дуэли
потом снова случайное число от 0 до count
если оно совпадает с предыдущим числом то снова случайное число от 0 до count
и так до тех пор пока новое число не будет отличаться от первого (делается циклом)
потом используем полученные 2 числа как индексы к массиву игроков и тпшим их героев на арену
  1. как только герой умирает проверяем является ли владелец умершего героя одним из выбранных игроков
потом тпшим обоих героев на базу и выдаём чтото наподобие "игрок выживший_игрок победил"
подробнее в статьях
разделы 1 и 2
ответ
Поищи открытые карты с дуэлями. Можно например взять жизнь на арене 1.5 она открытая.
ответ
~8gabriel8:
В этом действии Отряд - Pick every unit in (Random 1 units from (Units in Game Area <gen> owned by Player_Hero[Random_Duel])) and do (Actions) где задаётся Random_Duel? Оно как было при инициализации задано, так и не меняется. То есть сначала выбираешь в общей области сражений юнита игрока и перемещаешь его в дуэльную область, а через 2 секунды опять пытаешься выбрать в общей области сражений юнита этого игрока, которого уже там нет, он в дуэльной. Это только то, что бросилось в глаза в самом триггере, в игре не проверял.
ответ
Удалить у юнита бафф через функцию UnitRemoveAbility( unit, buffID ).

23

» WarCraft 3 / Проигрывание звука

Принятый ответ
Похожие вопросы:

ответ
Тагда попробуй триггерно сделать при возрождении грома проигрывание этого звука.
ответ
Любой звук (и вообще любые материалы) из архивов варкрафта можно использовать в игре без импорта.
ответ
если ты используешь звук 1 раз то да, а если нет то заносим звук в глобальную переменную и проигрываем когда нужно.
В гуях вроде со звуками все было ровно, ничего изобретать ненужно...
ответ
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
ответ
Спасибо всем, отбой, все нормально с позиционными звуками, у меня была включена кинематика и оказывается она игнорирует позиционные звуки... извините за беспокойство, на счет звука на точке не знаю, но на юните работает как надо.

23

» WarCraft 3 / Lua или jass?

Похожие вопросы:

ответ
правда в идеале хотелось бы иметь хот редеплой.
Имеется в виду в самой игре или что?
и по-хорошему, чтобы не затирались скрипты после пересохранения карты в предакторе
Для этого придется сначала вытаскивать скрипт из оригинальной карты, затем собирать твои скрипты + этот в один и пихать обратно. Это не сильно сложно.
setlocal EnableDelayedExpansion

if exist pid.txt (
    set /P pid=<pid.txt
    echo !pid!
    taskkill /F /PID !pid!
)

set map=output\map.w3x

mkdir output
xcopy ..\test_stuff_map.w3x %map%* /Y

"tools\MPQEditor.exe" add "%map%" "war3map.lua" "war3map.lua"
"tools\MPQEditor.exe" add "%map%" "testdialog.fdf" "TestDialog.fdf"
"tools\MPQEditor.exe" add "%map%" "ui_list.toc" "ui_list.toc"

set game=E:\games\Warcraft III Public Test\x86_64\Warcraft III.exe

start "" "%game%" -loadfile "%~dp0%map%" -windowmode windowedfullscreen %arguments%

for /F "TOKENS=2,3,*" %%a in ('tasklist /FI "IMAGENAME eq Warcraft III.exe"') do set MyPID=%%b
echo %MyPID% > pid.txt
Мой скрипт. Большая часть кода здесь отвечает за автоматический перезапуск игры.
ответ
например как быть с ситуацией когда this или объект используется как число?
this часто используется как число, например для сохранения на хэндл таймера.

ИМХО, структуры вообще лучше переписать изначально на lua.
ответ
Если убрать из карты блоки кода, все триггеры с "custom code" и очистить "custom code" карты то сменить можно.

23

» WarCraft 3 / Как сделать кастомную озвучку

Похожие вопросы:

ответ
"Набор звуков" нельзя сделать через триггеры, но можно попробовать через импорт файлов заменить стандартные файлы в уже существующих наборах.
Для этого импортируемому файлу надо прописать путь заменяемого.

23

» WarCraft 3 / Кампания

Похожие вопросы:

ответ
Нельзя. Потому что даже в твоей сугубо триггерной карте, когда запускается команда на исполнение все конвертируется в jass/( Когда ты играешь или проверяешь карту)
Триггер . лишь графическая оболочка, как бы кубики на которых написаны буквы, но все-равно все происходит на jasse ( уже иногда на lua)
Короче нельзя. скачивай jngp и учи хотя бы простые джассовые команды.
Хотя даже зная его взломанная карта часто выкладывает огромный набор проограмного кода без разделения где конкретный текстовый триггер инициализации или определенного дейсвтия.
ответ
~8gabriel8:
Нет. Кампании пока не рассчитаны на сетевую игру, переходы с карты на карту работать не будут. Преодолевать ограничение в количестве декораций можно было в редакторе JNGP, но он рассчитан на патч 1.26, а также может работать с 1.27, на новые патчи не знаю, что позволяет ставить больше декораций.


По идее и кэш в сетевой не будет работать, так как у одного игрока могут быть в кэше одни данные, а у другого другие. Но тут не проверял, а лишь предполагаю, так как специализируюсь на кампаниях, а не сетевых играх)
ответ
Можно создать обычную карту/карты для прохождения по сети.
Для этого
  • Чтобы сохранить прогресс прохождения игрока - нужно уметь загружать и подгружать его из файла.
  • Чтобы организовать переход между локациями, вы можете:
    • Использовать несколько согласованных карт;
    • Использовать метод разделения карты на области;
    • Использовать методы генерации карт.

23

» WarCraft 3 / Помогите найти утечку

Похожие вопросы:

ответ
Попробуй call DestroyGroup(udg_UNOSITMENIA) выбор юнитов тоже создаёт утечки.
ответ
nvc123, внутри GetRectCenter нет утечки
// blizzard.j:1772
function GetRectCenter takes rect whichRect returns location
    return Location(GetRectCenterX(whichRect), GetRectCenterY(whichRect))
endfunction
а эвент регистрируется 1 раз, так что можно забить
// blizzard.j:7959
function TriggerRegisterEnterRectSimple takes trigger trig, rect r returns event
    local region rectRegion = CreateRegion()
    call RegionAddRect(rectRegion, r)
    return TriggerRegisterEnterRegion(trig, rectRegion, null)
endfunction
Другое дело, что у order есть утечка, но это нативно, она минимальная и это никак не исправляется.

23

» WarCraft 3 / Магическая атака

Похожие вопросы:

ответ
Rivensing, наверно чтоб от способностей уворачиваться, надо то же самое сделать, только со способностью "Невосприимчивость к магии". Только её надо не со 100% вероятность давать. Потому что она блокирует магию всегда в отличии от "Змеиной ловкости".
ответ
Можно через улучшения сделать безвозвратно или через способность "Темный". В остальных случаях только морф.
ответ
Не слушай этих плз. В игровых константах поройся
ответ
Дать юниту дальнего боя способность "Грозовая атака", у которой в "Эффекты молнии" установить "Магический огонь".
"Вытащить эффект молнии" даст текстуру вроде бы, а анимация снаряда делается моделью.
ответ
Так как ты это хочешь - нет, но можно добавить много типов атаки, если ты узнаешь про структуры

23

» WarCraft 3 / Помощь с моделью

Похожие вопросы:

ответ
Askarto:
Grok:
Импортируй модели в карту, удали везде "war3mapImported\" и будет тебе счастье
Везде это и в блп и в мдх?
Действительно есть подробные статьи про импорт, мог бы почитать, но раз ты все же завел тему:
Модели (.mdx/.mdl) используют текстуры. Нестандартные модели часто используют текстуры, которых нет в стандартном варе и они идут (как правило) вместе с моделью. Соответственно, при импорте, необходимо указать путь текстуры такой же, какой ищет модель.
Чтобы узнать, как путь тектуры нужен, можно использовать прогу MDXPather (тогда ты его еще и изменить сможешь на желаемый) или просто открыть модель блокнотом (да, так можно). Пути текстур ты найдешь в первых 5-10 строках.
Для верности, копируешь их ЦЕЛИКОМ и заменяешь ЦЕЛИКОМ поле вида 'war3imported/x.blp'. В некоторых случаях перезапускаешь WorldEditor. У меня и без перезапуска они начинают работать.
У моделей 'war3imported' можно не удалять, хотя бывают и исключения.
ответ
Ой, всё
ответ
Собственно что мешает написать в тему нужна модель вам туда-сюда?
WarSC:
Создать анимацию(толковую) без знаний 3ДМакса практически невозможно, а тот кто прошареный в таких программах тебе помогать не будет...
Анимки уже давно все в майке делают) Ну так для справки.
ответ
Скачай простенькую программу MdxPather , узнаешь какие текстуры нужны для модели и какие у них название, также можешь их переназвать.
ответ
Замени на тот что есть у тебя

23

» WarCraft 3 / как открыть карту ?

Похожие вопросы:

ответ
Способ есть.
Но для этого нужен Warcraft 3 и редактор.
Итого:
  • открываешь редактор,
  • открываешь в нем карту
  • клацаем F9 или просто Проверку карты (там иконка самая последняя в строчке, красная галочка)
  • Profit...
Внимание! Не все карты так можно открыть, некоторые защищенные и открытию в редакторе не подлежат, а если их восстановить, то они не всегда работоспособны.
ответ
ты бы названий таких не делал, а то модератор впаяет условку
для открытия обычных карт понадобится стандартный World Editor, идущий в комплекте с игрой
карты кампании нужно искать в архивах *.mpq, которые находятся в директории игры, в одной папке с приложением war3.exe, и для их открытия понадобятся программы наподобие Win mpq или War3ModelEditor со встроенным Mpq Browser
ответ
Можно, War#mapResorer в помощь, вот ссылочка
А что именно интересует, я кое какие скиллы выкладывал, у фрога там черт ногу сломит, какие то недогуи, всякие старые скиллы которые не удалены, ужос, карта открывается в редакторе по 5 мин.

23

» WarCraft 3 / Таверны

Принятый ответ
Похожие вопросы:

ответ
~8gabriel8:
Ой, лучше не так. Это для каждого героя надо будет прописывать в Инициализации.
Лучше, например:
С: Юнит входит в игровую карту
У: Юнит равно Герой равно Да
Д: Что на скрине действие, только вместо конкретного типа юнита указываешь unit-type of (Triggering unit) и ставишь 0
Если надо для всех игроков запретить в таверне этого героя, то выбираешь группу игроков и переносишь туда это действие, а в нём меняешь Игрок 1 (красный) на (Picked player).
ответ
Я же делал наработку выбора героев на GUI. Можете там посмотреть.
ответ
~8gabriel8:
Событие у тебя стоит первое в списке категории Боевая единица, поставь третье Приводит способность в действие, а в условии добавь Unit-type comparsion, (Casting unit) равно ТВОЙ_ГЕРОЙ.
ответ
В первом поле "Маг" делаем значение "пусто", чтобы не было стрелочки над героем. Минус в том, что будет не видно героя, который будет приобретать предмет.
Во втором поле устанавливаем значение (расстояние взаимодействия таверны с героем)
ответ
Steal nerves:
Extremator предлагает делать переключение через выделения таверн через триггеры. Выделение с одной снял, выделение на другую переключил.

Хоттаб, предлагаю другой вариант - ОДНУ таверну со всеми героями. пример с итемами, там переключение система 14 верс
есть пример, тоже самое можно сделать например для героев. По идее можно всех-всех героев заранее забить в таверну. Так можно сделать ОДНУ таверну со всеми героями, но с переключением списков. Так можно сделать, это надо в РО забить всех героев в таверну, если не получается пробуйте через клавишу Shift. Но будет отображаться только первые 10-12, остальные не вместятся на панеле. Поэтому надо разбить героев на списки.
Можно спрятать всех героев, кроме определенных героев, находящей на первой странице. А когда нажимаешь, то прячешь для игрока одних героев на 1 странице, и показываешь других героев на след странице.

как прятать героев вот ссылка когда задаешь лимит обучения данного типа ноль, то иконка этого героя исчезает. прячешь одних. разблокируешь других.

23

» Администрация XGM / YouTUBE

Похожие вопросы:

ответ
http://www.youtube.com/watch?v=ik6VYNPiLsw
она должна быть такая.
раскрыть
ответ
Ledon, Я тебя спасу.
https://www.youtube.com/watch?v=wSpyjsQTpfo - это типо приватная ссылка.
Вставь эту ссылку:
http://www.youtube.com/watch?v=wSpyjsQTpfo
И всё норм будет.
ответ
Ссылку на Ютуб-канал разрешается делать в блоге. Но вот ссылки на другие сайты запрещены.
Кстати, если вас интересует, на сайте тоже есть свой канал - поэтому возможно договорится о взаиморекламе между каналами.
ответ
ответ
А-ааа, их адблок блокирует, лол.
Это спец фильтр делает (Fanboy's Social Blocking List), его можно отключить.
AdGuard тоже можно включить фильтр, который всё это дело убирает.
Fanboy's Annoyances и Fanboy's Social Blocking List.

23

» WarCraft 3 / Таверна и Герои в ней

Похожие вопросы:

ответ
Дело не в ландшафте. Список доступных героев редактируется в РО: Технологии - Войск продано.
ответ
никак, такие манипуляции только с абилками работают
ответ
~8gabriel8:
PT153, это лимит для одного игрока, то есть героя смогут нанять другие.
Нужно поставить таверне способность Продажа войск. Потом делаешь триггер:
Событие: Юнит вошёл в область (Вся игровая карта)
Условие: Триггеринг юнит равно Герой равно Да (можно этого не делать, просто исключает срабатывание триггера для каждого юнита)
Действия: несколько действий Если/То/Иначе
Если - Юнит тип (Триггеринг юнит) равно Какой-то Герой Из Таверны
То - Нейтральное здание - Удалить Какой-то Герой Из Таверны из таверны
Иначе - Ничего
И так для каждого типа героев в таверне.

23

» WarCraft 3 / Сохранение приказа

Похожие вопросы:

ответ
Едва ли. Хотя...
Есть хорошее условие wait for condition, благодаря которому всё можно будет впечатать в 1 триггер без особых сложностей.
Например приказать топать в область 1
подождать пока область 1 содержт юнит
приказать что-то ещё.
ответ
Оба файла удаляются, потому что ты импортируешь их в карту через программу и не добавляешь данные о файлах в файл импорта(war3map.imp). При сохранении карты в редакторе архив пересобирается, и в него добавляются сторонние файлы, которые сохранены в том самом файле импорта. Поэтому используй стандартный менеджер импорта в редакторе.
ответ
pro100master, но ведь это собьет и его текущие приказы?

Upd.:Я понял в чем проблема.
Я хочу чтоб можно было использовать способности юнита, при этом чтоб были недоступны атака/перемещение итд., а ведь это тоже его способности...
Короче я загнал себя в угол.
Пожалуй пойду по пути создания торговца-здания.
Но если у кого есть решение моей дилемы - буду рад!
ответ
UnitRemoveItem

23

» WarCraft 3 / Золото при переходе на некст карту

Принятый ответ
Похожие вопросы:

ответ
RikLine:
Sergarr:
Со вторым - можно легко уменьшить хп всех юнитов одной стороны с помощью функции Set Handicap из ГУИ.
Да, я понимаю, но другой вопрос: как "дать редактору понять", что один из игроков отсутствует? Какое событие или же условие надо поставить?
Можно просто считать количество играющих игроков. В ГУИ это делается так: создаешь целочисленную переменную и приравниваешь ее значение к Number of players in (All of players matching (((Matching player) slot status) равно Играет)).
Чтобы это дело прикрутить к установке гандикапа, ты создаешь триггер с кучей событий вида Игрок 1 (красный) leaves the game, туда вставляешь эту штуку выше, и затем там же устанавливаешь гандикап.
Да, и еще, эта функция считает всех компьютерных игроков тоже как "играющих", так что на это надо сделать поправку.
ответ
ответ
~8gabriel8:
Можешь триггерно давать опыт, для этого в таблице опыта ставишь 0, героев помещаешь в группу, в триггере событие юнит умирает, в условии юнит - враг, в действии в группе героев даёшь опыт.